var dtExpire = new Date(); // Création d'un objet date
dtExpire.setTime(dtExpire.getTime() + 3600 * 1000);  //Date d'expiration = now() + 1heure * 1000 donc dans 1000 heures

/**
* Methode créant un cookie en javascript
* @param le nom
* @param la valeur
* @param la date d'expiration
**/
function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// On supprime le cookie en lui donnant une date négative
function eraseCookie(name) {
	setCookie(name,"",-1);
}

// Fonction de deconnection, efface le cookie et refresh la page
function disconnect() {
	eraseCookie("m2l");
	location.href="http://ufip.dtdns.net:7071/connect.php"; // On recharge la page pour prendre en compte la supression du cookie
}

function list_lie() {

	$(document).on("change", "#categorie", function() {
		$.getJSON(
			'controleur.php?action=getListe', 
			{
				id : $("#categorie").val(),
				idAssoc : $("#idAssoc").val()
			},
			function(data) {
				$(document).find('#materiel option').remove();
				$(document).find('#materiel').append('<option value="empty"></option>');
				$.each(data, function() {
					$(document).find("#materiel").append('<option value="'+this.id_materiel+'" >'+ this.description +'</option>');
				}) 
			}
		)
	})	
} 	

function infoReservation() {
	$(document).find('[id*="resa-"]').each(function() {
		$(this).css("cursor", "pointer");
		$(this).click(function() {
			var id = $(this).attr("id");
			id = id.substring(5);
			$.getJSON(
			'controleur.php?action=infoReservation', 
			{
				id : id,
			},
			function(data) {
				$(document).find("#list-reservation").empty();
				$(document).find("#list-reservation").append('<div>Reservation de '+data.nom_adherent+' '+data.prenom_adherent+'</div>');
				$(document).find("#list-reservation").append('<div>Date : '+data.date+'</div>');
				$(document).find("#list-reservation").append('<div>Categorie : '+data.designation_materiel_sport+'</div>');
				$(document).find("#list-reservation").append('<div>Description : '+data.description+'</div>');
				$(document).find("#list-reservation").append('<div>Reference : '+data.reference+'</div>');
				$(document).find("#list-reservation").append('<div>Quantité : '+data.quantite+'</div>');
			})
		})
	})
	
}

function findForm() {
	$.getJSON(
		'controleur.php?action=findReservation', 
		{
			nom : $("#recherche").val()
		},
		function(data) {
			$(document).find('#form-find-reservation').remove();
			$.each(data, function() {
				$(document).find("#list-reservation").append('<div id="resa-'+this.id_reservation+'">'+this.nom_adherent+ ' '+this.prenom_adherent+' : Réservation du ' +this.date+'</div>');
			})
			infoReservation();
		}
	)	
}

function getLotDispo() {
	$(document).find("#date").focusout(function() {
		console.log($("#date").val());
		$.getJSON(
			'controleur.php?action=getLotDispo', 
			{
				idMateriel : $(document).find("#materiel").val(),
				idMaterielSport : $(document).find("#categorie").val(),
				date : $("#date").val()
			},
			function(data) {
				$(document).find('#taille_lot option').remove();
				$(document).find('#taille_lot').append('<option value="empty"></option>');
				for(var i = 1; i <= data; i++) 
				{
					$(document).find('#taille_lot').append('<option value="'+i+'">'+i+'</option>');
				}
			}
		)
	})
	
	}
function getTailleLot() {
		$.getJSON(
			'controleur.php?action=getTailleLot', 
			{
				idMateriel : $("#materiel").val(),
				date : $("#date").val()
			},
			function(data) {
				$(document).find('#addMateriel form').append('input type="hidden" id="taille" value="'+data.taille_lot+'"');

				for(var i = 1; i <= data.taille_lot; i++) 
				{
					$(document).find('#taille_lot').append('<option value="'+i+'">'+i+'</option>');
				}
			}
		)
	}


 // *** Début des fonctions de gestion des catégories ***
function addMaterielSport() {
	if($("input #nom_categorie").val() == "" ) {
		alert("formulaire mal rempli");
	}
	else {
		$.getJSON(
			'controleur.php?action=addMaterielSport', 
			{
				designation : $("#nom_categorie").val(),
				numAssoc : $("#numAssoc").val(),
			},
			function(data) {
				$("#add-categorie form").hide();
				if(data.message == "Ajout ok") {
					console.log(data.designation);
					$("#contentAbs").append("<p>la catégorie "+data.designation+" à bien été ajouté</p>");
				}
				else {
					$("#contentAbs").append("<p>la catégorie "+data.designation+" n'a pas pus etre ajouté</p>");
				}
			}
		)
	}
}

function updateMaterielSport() {
	$.getJSON(
			'controleur.php?action=getMaterielSport', 
			{	
				id : $("#categorie").val(),
			},
			function(data) {
				$("#contentAbs").find("#upd-categorie").remove();
				$.get("vue/updForm-categorie.php", function(d){
					$("#contentAbs").append(d);
					$("#contentAbs").find("#categorie-id").val(data.id_materiel_sport);
					$("#contentAbs").find("#nom_categorie").val(data.designation_materiel_sport);
				})
			}
		)
}

function updateConfirmMaterielSport() {
	$.getJSON(
		'controleur.php?action=updateMaterielSport', 
			{	
				id : $("#contentAbs").find("#categorie-id").val(),
				designation : $("#nom_categorie").val()
			},
			function(data) {
				$("#contentAbs").find("#updForm-categorie form").hide();
				if(data.message == "Modification ok") {
					$("#contentAbs").append("<p>la catégorie : "+data.designation+" à bien été modifié</p>");
				} else {
					$("#contentAbs").append("<p>Problème lors de la modification de la catégorie</p>");
				}
			}
		)
}

function deleteMaterielSport() {
	if(confirm("Attention la supression d'une catégorie de materiel entraine la supression de tout le materiel rataché à cette catégorie \n\n Etes vous sur de vouloir supprimer la catégorie de materiel séléctionner ?")) {
		$.getJSON(
			'controleur.php?action=deleteMaterielSport', 
			{
				id : $("#categorie").val(),
			},
			function(data) {
				$("#contentAbs").find("#del-categorie form").hide();
				if(data.message == "supression OK") {
					$("#contentAbs").append("<p>le catégorie séléctionné à bien été supprimé</p>");
				} else {
					$("#contentAbs").append("<p>Problème lors de la suprèssion de la catégorie</p>");
				}
			}
		)
	}
}

function addMateriel() {
	if($("input #nom_categorie").val() == "" ) {
		alert("formulaire mal rempli");
	}
	else {
		$.getJSON(
			'controleur.php?action=addMateriel', 
			{
				categorie : $("#categorie").val(),
				etat : $("#etat").val(),
				description_materiel : $("#description_materiel").val(),
				reference : $("#reference").val(),
				taille_lot : $("#taille_lot").val(),
			},
			function(data) {
				$("#add-materiel form").hide();
				if(data.message == "Ajout OK") {
					$("#contentAbs").append("<p>le materiel à bien été ajouté</p>");
				}
				else {
					$("#contentAbs").append("<p>le materiel n'a pas pus etre ajouté</p>");
				}
			}
		)
	}
}

function connect() {
	if($("input #login").val() == "" || $("input #password").val() == "" ) {
		alert("formulaire mal rempli");
	}
	else {
		$.getJSON(
			'controleur.php?action=connect', 
			{
				login : $("#login").val(),
				password : $("#password").val(),
			},
			function(data) {
				if(data.message == "connection OK") {
					setCookie("m2l", data.id, dtExpire) // On créer le cookie
					location.reload(); // On recharge la page pour prendre en compte le cookie
				}
				else {
					$("#erreurConnect").append("Erreur de connexion !"); // Affichage d'un message d'erreur
				}
			}
		)
	}
}


function addReservation() {
	$.getJSON(
			'controleur.php?action=addReservation', 
			{ 
				idMateriel : $("#materiel").val(),
				date : $("#date").val(),
				tailleLot : $("#taille_lot").val(),
			},
			function(data) {
				$("#contentAbs").find("#add-reservation form").hide();
				if(data.message == "reservation OK") {
					$("#contentAbs").append("<p>la réservation à bien été effectué</p><br /><br />");
					// Ajout d'une nouvelle réservation à la suite
				/*	$("#contentAbs").append("<a href='#'>Effectuer une nouvelle réservation");

					
					$("a").on("click", function() {
						$("contentAbs").hide();
						$("#contentAbs").show().load("vue/add-reservation.php", function(){
							if(id = "add-reservation") {
								getLotDispo();
							}
						});
					
					})


*/					location.reload();
				}
				else {
					$("#contentAbs").append("<p>la réservation n'a pas pus etre faite</p>");
				}
			}
		)
}


function updateReservation() {
		var id =  $("#reservation").val();
		$.getJSON(
			'controleur.php?action=getReservation', 
			{ 
				idReservation : $("#reservation").val(),
			},
			function(data) {
				$("#contentAbs").find("upd-reservation").remove();
				$("#contentAbs").load("vue/upd-form-reservation.php", function() {
					console.log("ici");
					$("#contentAbs").find("#idResa").val(id);
					$("#contentAbs").find("#date").val(data.date);
					getLotDispo();
				})

			}
		)
}

function updFormReservation() {
	$.getJSON(
			'controleur.php?action=updateReservation', 
			{ 
				idMateriel : $("#materiel").val(),
				date : $("#date").val(),
				tailleLot : $("#taille_lot").val(),
				idReservation : $("#idResa").val(),
			},
			function(data) {
				$("#contentAbs").find("#upd-form-reservation").remove();
				if(data.retour == "Ok") {
					location.reload();			
				} else {
					$("#contentAbs").append("La modification de la réservation à echoué");
				}

			}
		)
}
function index(){
/*	$(document).on("change", "#materiel", function() {
		getTailleLot();
	})*/

	$(".joursActif").each(function() {
		$(this).mouseover(function(e) {
			var name = $(this).attr("name");
			console.log(name);
			//$(".tooltip[name="+name+"]").show().css("left", this.offsetLeft+10).css("top",this.offsetTop+10);
		})
		$(this).mouseleave(function() {
			var name = $(this).attr("name");
			$(".tooltip[name="+name+"]").hide();
		})
	})

	$("aside").load("vue/listing_materiel.php");

	$(document).on("click", "aside h4", function(event) {
		if($(this).nextUntil('h4').css("display") == "none") {
			$(this).nextUntil('h4').show();
		}
		else {
			$(this).nextUntil('h4').hide();
		}
	})

	$(document).on("click", "#administration h4", function(event) {
		if($(this).nextUntil('h4').css("display") == "none") {
			$(this).nextUntil('h4').show();
		}
		else {
			$(this).nextUntil('h4').hide();
		}
	})

	$("#administration div").each(function(index) {
		$(this).hide();
		$(this).on("click", function() {
			var id = $(this).attr("id");
			$("#abs").show();
			$("#contentAbs").show().load("vue/"+id+".php", function(){
				if(id = "add-reservation") {
					getLotDispo();
				}
				if(id = "upd-materiel") {	
					list_lie();
				}
			});
			
			
		})
	})

	$("#abs").on("click", function() {
		$(this).hide();
		$("#contentAbs").hide()
	})

	$(document).on("mouseover", "h4", function() {
		$(this).nextUntil("h4").css("cursor", "pointer");
	})


	// Gestion du formulaire d'ajout d'une nouvelle catégorie
	$(document).on('click', "#addCategorie", function() {
		addMaterielSport();
	})

	$(document).on('click', '#getCategorie', function() {
		updateMaterielSport();
	})
	
	$(document).on('click', '#modifCategorie', function() {
		updateConfirmMaterielSport();
	})	

	$(document).on('click', '#delCategorie', function() {
		deleteMaterielSport();
	})

	$(document).on('click', '#addMateriel', function() {
		addMateriel();
	})

	$(document).on('click', '#makeConnection', function() {
		connect();
	})
	$(document).on('click', '#addReservation', function() {
		addReservation();
	})
	$(document).on('click', '#getReservation', function() {
		updateReservation();
	})	
	$(document).on('click', '#updReservation', function() {
		updFormReservation();
	})

}

// Chargement au demarage de la page
$(function(){
	// déclaration des variables
	var url = (document.location.href).split("/");
	var mapage = (url[url.length-1].split("."))[0];

	$(".joursActif").tooltipster({fixedWidth: 100});
	// Appel de fonction dedié à chaque pages
	switch(mapage)
	{
		case  "index2": index(); break;
		default : index(); break;
	}
})
